Industrial control systems have enabled modern factories to become partially or completely automated in many circumstances. These systems generally include a plurality of Input and Output (I/O) modules that interface at a device level to switches, contactors, relays and solenoids along with analog control to provide more complex functions such as Proportional, Integral and Derivative (PID) control. Communications have also been integrated within the systems, whereby many industrial controllers can communicate via network technologies such as Ethernet, ControlNet, DeviceNet or other network protocols and also communicate to higher level computing systems. Generally, industrial controllers utilize the aforementioned technologies along with other technology to control, cooperate and communicate across multiple and diverse applications.
Imperative to factory automation are human-machine interfaces (HMIs), which facilitate safe and efficient interaction between humans and machinery, wherein manipulation and control of complex and/or expensive systems comprising such machinery occurs via a computer. For example, in an industrial setting, a press operator can utilize a HMI to start and/or stop such press via depressing a key on a keyboard. In other embodiments, the press can be started and/or stopped through clicking a computer mouse or selecting a virtual button on a touch screen. Furthermore, HMIs can be utilized to manipulate and/or control particular actions of a process (thereby controlling individual components associated with the process). For instance, a HMI can enable a press operator to accelerate a press via a keystroke, rather than temporarily halting operation of the press and adjusting parameters of individual components required for accelerating such press.
Typically, expert computer programmers are employed to design and implement HMIs in connection with particular systems and/or processes. Creation of effective HMIs not only requires designing a user-interface (e.g., a graphical interface displayed on a monitor, textual instructions, . . . ), but also requires generating code for each component and/or action desirably controlled and/or manipulated via a HMI. For example, interface code must be created to interface components and/or actions with corresponding software renderings (HMI objects and arrangement of HMI objects) representing such components and/or actions, and code controlling each component (control code) must be generated to enable component(s) to operate desirably. Such interface and control codes can thereby effectuate desirable operation of component(s) in an automated industrial environment, and further allow components to respond appropriately to operator commands delivered to such components via a HMI.
Costs, including programming, latency, inefficiency, etc., increase with machinery and/or process complexity. Specifically, in an industrial setting, programming interface code and control code via a HMI can require several hours, and in some instances days, resulting in machine latency and industrial inefficiency, as machines otherwise capable of normal use are rendered inactive. Furthermore, machines and/or processes dependent upon inactive machine(s) and/or processes must also be temporarily inhibited from normal operation.
In addition, programmers generating interface code and control code effectuated within a HMI for control of particular industrial systems and/or processes are typically not operators of such systems and/or processes. Therefore, after programming of interface code and control code within a HMI has been completed, a system and/or process operator can discover that the code does not facilitate efficient and intuitive operation of machinery, requiring the operator to locate and contact the programmer to edit such code according to specific requests from the operator. Often, a skilled computer programmer must edit interface code and control code several times before effective automation within an industrial environment via HMIs is achieved, thus creating additional expenses.
In view of at least the above, there exists a strong need in the art for a system and/or methodology facilitating improved code generation and/or editing via HMIs.